From ee5587d5169848bc85ac947110b291842ac0cf19 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 9 May 2020 21:02:33 -0400 Subject: [PATCH] shortcutssection: Stop using container api --- gtk/gtkshortcutssection.c | 43 ++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 26 deletions(-) diff --git a/gtk/gtkshortcutssection.c b/gtk/gtkshortcutssection.c index 69eefce89a..9c2f413023 100644 --- a/gtk/gtkshortcutssection.c +++ b/gtk/gtkshortcutssection.c @@ -479,28 +479,21 @@ static void gtk_shortcuts_section_add_group (GtkShortcutsSection *self, GtkShortcutsGroup *group) { - GList *children; GtkWidget *page, *column; - children = gtk_container_get_children (GTK_CONTAINER (self->stack)); - if (children) - page = g_list_last (children)->data; - else + page = gtk_widget_get_last_child (GTK_WIDGET (self->stack)); + if (page == NULL) { page = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 22); gtk_stack_add_named (self->stack, page, "1"); } - g_list_free (children); - children = gtk_container_get_children (GTK_CONTAINER (page)); - if (children) - column = g_list_last (children)->data; - else + column = gtk_widget_get_last_child (page); + if (column == NULL) { column = gtk_box_new (GTK_ORIENTATION_VERTICAL, 22); gtk_container_add (GTK_CONTAINER (page), column); } - g_list_free (children); gtk_container_add (GTK_CONTAINER (column), GTK_WIDGET (group)); self->groups = g_list_append (self->groups, group); @@ -556,34 +549,34 @@ gtk_shortcuts_section_filter_groups (GtkShortcutsSection *self) static void gtk_shortcuts_section_reflow_groups (GtkShortcutsSection *self) { + GtkWidget *page, *column; GList *pages, *p; - GList *columns, *c; GList *groups, *g; GList *children; guint n_rows; guint n_columns; guint n_pages; GtkWidget *current_page, *current_column; - GtkWidget *child; /* collect all groups from the current pages */ groups = NULL; - pages = gtk_container_get_children (GTK_CONTAINER (self->stack)); - for (p = pages; p; p = p->next) + for (page = gtk_widget_get_first_child (GTK_WIDGET (self->stack)); + page != NULL; + page = gtk_widget_get_next_sibling (page)) { - columns = gtk_container_get_children (GTK_CONTAINER (p->data)); - for (c = columns; c; c = c->next) + for (column = gtk_widget_get_first_child (page); + column != NULL; + column = gtk_widget_get_next_sibling (column)) { - children = gtk_container_get_children (GTK_CONTAINER (c->data)); + children = gtk_container_get_children (GTK_CONTAINER (column)); groups = g_list_concat (groups, children); } - g_list_free (columns); } - g_list_free (pages); /* create new pages */ current_page = NULL; current_column = NULL; + pages = NULL; n_rows = 0; n_columns = 0; @@ -615,8 +608,6 @@ gtk_shortcuts_section_reflow_groups (GtkShortcutsSection *self) if (n_columns % 2 == 0) { - GtkWidget *page; - page = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 22); pages = g_list_append (pages, page); @@ -704,14 +695,14 @@ gtk_shortcuts_section_reflow_groups (GtkShortcutsSection *self) } /* replace the current pages with the new pages */ - while ((child = gtk_widget_get_first_child (GTK_WIDGET (self->stack)))) - gtk_container_remove (GTK_CONTAINER (self->stack), child); + while ((page = gtk_widget_get_first_child (GTK_WIDGET (self->stack)))) + gtk_stack_remove (self->stack, page); for (p = pages, n_pages = 0; p; p = p->next, n_pages++) { - GtkWidget *page = p->data; - gchar *title; + char *title; + page = p->data; title = g_strdup_printf ("_%u", n_pages + 1); gtk_stack_add_titled (self->stack, page, title, title); g_free (title); -- 2.30.2